#pragma once
#include "Model.h"
#include "GameState.h"

class Controller; //declaration to resolve circular include problem
class View;

class GameRoutineBase
{
public:
	GameRoutineBase(GameState &state);
	virtual ~GameRoutineBase(void);

	View *view;
	Model *model;
	Controller *controller;

	GameState stateId; //corresponding game state

	virtual void run() = 0; //metod called when game routine should be invoked
};
